1. Field of the Invention
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for storing data. More particularly, the present invention relates to a computer implemented method, apparatus, and a computer usable program product for storing data on a portion of a disk.
2. Description of the Related Art
Software companies often find themselves in a tug-of-war between meeting tight production schedules and producing high quality products that contain all desirable features and that are free of problems, such as software bugs. Unfortunately, most software, including operating systems, is still distributed via disks, such as compact disks (CDs) or digital versatile disks (DVDs). These types of storage media require a long lead time when ordering production of the disks, because factories requires considerable time to press disks and store software on the disks. Thus, while the factories are pressing disks and storing software onto the disks, the software developer is often continuing to test and change the software to be sold. As a result, the software stored on many or all of the manufactured disks is out of date by the time the disks are sold in the open market.
Currently, software developers address this problem by developing one or more patches for the software stored on the manufactured disks. A patch is a software program that modifies or replaces a related, but older software program. When a user purchases the disk, the user may then access a network, such as the Internet, and subsequently download the patch or patches. The user then installs the patches in order to upgrade the purchased application to the most up-to-date version.
Several problems exist with using patches to upgrade software stored on disks. One problem is that the user can only access the patch using a network. If the user's access to the network is impaired or if the user's computer doesn't operate because the software is defective, then the user cannot obtain the patch which is supposed to correct the problem. Another problem is that multiple patches might need to be implemented in a particular order. Although all patches can be combined into a single large patch, a user might not need most of the features contained in the single large patch.
A third problem is waste of disks. For example, a software developer orders and causes to be manufactured a first set of ten million disks. Each disk stores some software, which could be a game, operating system, or any other software. The software developer develops a new patch for the software. The software developer then announces that the software developer will order a second set of disks to be manufactured, with the second set of disks containing the fully updated version of the software. Any remaining disks in the first set of disks become nearly useless, as consumers will be reluctant to purchase the older software. As a result, potentially millions of disks and a great deal of money is wasted. Thus, it would be advantageous to have an improved method, apparatus, and computer usable program code for storing data on a storage medium such as a compact disk or a digital versatile disk.